﻿using Canteen.Core.Common;
using Canteen.Core.Models;
using System.Threading.Tasks;

namespace Canteen.Core.Services
{
    public interface IStoreService
    {
        Task<Store> CreateStore(Store store);
        Task<Store> UpdateStore(Store store);
        Task<bool> DeleteStore(int id);
        Task<bool> ChangeStoreVerify(int id, int verify);
        Task<bool> ChangeStoreStatus(int id, int status);
        Task<Store> SelectStoreById(int id);
        Task<Store> SelectStoreByPhone(string phone);
        Task<Store> SelectStoreByPhoneAndPwd(string phone,string passWord);
        Task<PageList<Store>> GetPageList(StorePageParameters parameters);
        /// <summary>
        /// 注册判断是否存在
        /// </summary>
        Task<bool> ExistStoreByRegister(Store store);


        int StoreId { get; }
        Task<bool> IsLogin();
        Task<Store> GetStoreLogin();
        Task<JwtAuthResult> SetStoreLogin(Store store);
        Task RemoveStoreLogin();
        Task RemoveRefreshToken(int storeId, string refreshToken);

    }
}
